// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:53:47

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   fr.java

package com.zelix;

import java.io.PrintWriter;
import java.util.*;

// Referenced classes of package com.zelix:
//            yc, yg, dp, gr, 
//            nh, lt, mt, kt, 
//            ou, px, fy, tb, 
//            fd

public class fr
{

    private HashSet a;
    private fy b;
    private static String z[];

    public fr(yg yg1, nh nh1, fd fd)
    {
        Enumeration enumeration;
        boolean flag;
        flag = tb.b;
        super();
        a = new HashSet();
        b = new fy();
        enumeration = yg1.a(dp.f);
        if(enumeration == null)
            break MISSING_BLOCK_LABEL_128;
        if(!flag) goto _L2; else goto _L1
_L1:
        mt mt1 = (mt)enumeration.nextElement();
        ou ou1 = yg1.a(mt1, dp.f);
        a.add(ou1);
        c(ou1);
_L2:
        if(enumeration.hasMoreElements()) goto _L1; else goto _L3
_L3:
        PrintWriter printwriter = nh1.n();
        if(nh1.z() && printwriter != null)
            a(printwriter, fd);
    }

    public boolean a(ou ou1)
    {
        return b.a(ou1);
    }

    public boolean b(ou ou1)
    {
        return a.contains(ou1) || b.a(ou1);
    }

    private void a(PrintWriter printwriter, fd fd)
    {
        List list;
        int i;
        boolean flag;
        flag = tb.b;
        list = px.a(b.d());
        gr gr1 = new gr();
        Collections.sort(list, gr1);
        i = 0;
        if(!flag) goto _L2; else goto _L1
_L1:
        ou ou1;
        StringBuffer stringbuffer;
        Hashtable hashtable;
        Enumeration enumeration;
        ou1 = (ou)list.get(i);
        if(fd != null && (fd.a((mt)ou1.h()) || fd.a(ou1)))
            continue;
        stringbuffer = new StringBuffer();
        hashtable = b.b(ou1);
        enumeration = hashtable.keys();
        if(!flag) goto _L4; else goto _L3
_L3:
        ou ou2 = (ou)enumeration.nextElement();
        mt mt1 = (mt)ou2.h();
        stringbuffer.append("\"" + mt1.l() + "\"");
        if(enumeration.hasMoreElements())
            stringbuffer.append(z[5]);
_L4:
        if(enumeration.hasMoreElements()) goto _L3; else goto _L5
_L5:
        printwriter.println(z[4] + ou1.d(false).trim() + z[2] + ou1.l() + z[3] + (hashtable.size() != 1 ? z[0] : z[1]) + stringbuffer);
        i++;
_L2:
        if(i >= list.size())
            return;
        if(true) goto _L1; else goto _L6
_L6:
    }

    private void c(ou ou1)
    {
        Iterator iterator;
        boolean flag1;
        flag1 = tb.b;
        HashSet hashset = new HashSet(13);
        ou1.b(hashset);
        boolean flag = hashset.remove(ou1);
        iterator = hashset.iterator();
        if(!flag1) goto _L2; else goto _L1
_L1:
        ou ou2 = (ou)iterator.next();
        b.b(ou2, ou1, ou1);
_L2:
        if(!iterator.hasNext())
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    private static String z(char[] chs) {
        byte key = 0;
        for (int i = 0; i < chs.length; i++) {
            switch (i % 5) {
                case 0:
                    key =0x3f;
                    break;
                case 1:
                    key =68;
                    break;
                case 2:
                    key =24;
                    break;
                case 3:
                    key =6;
                    break;
                case 4:
                    key =10;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }

    static 
    {
        String as[];
        as = new String[6];
        as[0] = z("]!{g\177L!8o~\037-k&i^(tcn\037&a&iS%ku*V*qrc^(q|oM78od\037".toCharArray());
        as[1] = z("]!{g\177L!8o~\037-k&i^(tcn\037&a&~W!8ef^7k&cQ-lokS-bcx\037-v&".toCharArray());
        as[2] = z("\035dqh*\\(yuy\037f".toCharArray());
        as[3] = z("\035d".toCharArray());
        as[4] = z("6\001`efJ qhm\037\"jig\037\"ti}\037+z`\177L'yrcP*8koK,wb*\035".toCharArray());
        as[5] = z("\023d".toCharArray());
        z = as;
    }
}